/* APP 版本检查及更新 */

import updata from '@/utils/updata.js';
import { getVersionInfo } from '@/api/index.js';
function version(v, m) {
	return new Promise((resolve, reject) => {
		// #ifdef APP-PLUS
		let code = plus.runtime.versionCode;
		// #endif
		// #ifdef H5
		let code = 1;
		// #endif
		// code = 201
		getVersionInfo({
			// #ifdef APP-PLUS
			model: plus.os.name === "Android" ? 1 : 2,
			qudaoid: 1, 
			// #endif
			// #ifndef APP-PLUS
			model: 1,
			qudaoid: 1,
			// #endif
			endid: 1,
			verint: code,
		}, {
			loading: !v
		}).then(res => {
			// res={data:{url:'https://zhongyi.vifeirg.cn/download/android/zhongyige.apk'}}
			// 提醒用户更新
			// if(res.data.url) {
			if(res.data.verint > code) {
				if(!v || m) {
					showModal(res.data);
				}
			} else {
				if(!v) {
					uni.hideToast();
					uni.showToast({
						title: '已是最新版本！',
						duration: 1000,
						mask: false,
						icon: 'none',
					});
				}
			}
			resolve(res.data);
		}).catch(err => {
			if(!v) {
				uni.hideToast();
				uni.showToast({
					title: '获取版本信息失败！',
					duration: 1000,
					mask: false,
					icon: 'none',
				});
			}
			reject(err);
		})
		
	})
}
function showModal(data) {
	let showCancel = data.updatestate != 2;
	uni.showModal({
	    title: '更新提示',
	    content: '版本：'+data.vername +'\n'+ data.content + '\n\n更新日期：'+data.createtime,
			confirmText: '升级', 
			confirmColor: '#DFA45A',  
			showCancel,
	    success: res1 => {
				if (res1.confirm) {
					// #ifdef APP-PLUS
					if(plus.os.name === "Android") {
						updata(data.url, (alphaBg, updataBox, downloadTask) => {
							if(data.updatestate == 2) {
								plus.runtime.quit();
							} else {
								alphaBg.hide();
								updataBox.hide();
								downloadTask.abort();
							}
						});
					} else {
						plus.runtime.openURL(data.url);
						showModal(data);
					}
					// #endif
					// #ifdef H5
					window.open(data.url);
					showModal(data);
					// #endif
				} else { 
					if(data.updatestate == 2) { 
						plus.runtime.quit();
					}
				}
	    }
	})
}

export default version;